package practice1_100;

public class Practice91 {
    public int numDecodings(String s) {
        int[] count =new int[s.length()+1];
        if(s.charAt(0)=='0') count[1]=0;
        else {
            count[1]=1;
            count[0]=1;
        }
        for (int i = 2; i <=s.length() ; i++) {
            if(s.charAt(i-1)=='0') {
                if(s.charAt(i-2)=='0'||Integer.parseInt(s.substring(i-2,i))>=26) return 0;
                else count[i]=count[i-2];
//                if(Integer.parseInt(s.substring(i-2,i))<=26)
            } else{
                if(Integer.parseInt(s.substring(i-2,i))<=26&&Integer.parseInt(s.substring(i-2,i))>=10){
                    count[i]=count[i-1]+count[i-2];
                }else {
                    count[i]=count[i-1];
                }
            }

        }
        return count[count.length-1];
    }

    public static void main(String[] args) {
//        System.out.println("abcd".substring(1,2));;
           int a= new Practice91().numDecodings("10324753259657492649768386136576157165716576276326121213231231313213123123123121343241342342342");
        System.out.println(a);
    }
}
